bsp[Board Support Package]

bsp[Board Support Package]

板級支持包(BSP)(Board Support Package)是介於主機板硬體和作業系統中驅動層程式之間的一層,一般認為它屬於作業系統一部分,主要是實現對作業系統的支持,為上層的驅動程式提供訪問硬體設備暫存器的函式包,使之能夠更好的運行於硬體主機板。在嵌入式系統軟體的組成中,就有BSP。BSP是相對於作業系統而言的,不同的作業系統對應於不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對於某一CPU來說儘管實現的功能一樣,可是寫法和接口定義是完全不同的,所以寫BSP一定要按照該系統BSP的定義形式來寫(BSP的編程過程大多數是在某一個成型的BSP模板上進行修改)。這樣才能與上層OS保持正確的接口,良好的支持上層OS。

簡介

在嵌入式系統中, 板級支持包(英語:board support package,簡稱 BSP)用作初始化與運行作業系統並用於評估板(Evaluation Board)的簡易代碼。它通常包含了以基礎支持代碼來載入作業系統的引導程式(英語:bootloader),以及主機板上所有設備的驅動程式。

一些供應商還會提供一套根檔案系統、用於構建運行在該嵌入式系統上的程式的工具鏈(英語:toolchain,可以是架構支持包的一部分),以及(在運行過程中)配置設備的實用工具。

歷史

大約從1988年開始出現這個詞。這詞的來源最常被歸於風河公司(Wind River Systems) 給它的VxWorks嵌入式作業系統,不過現在已經廣泛的在業界使用。如QNX Software Systems也提供 BSPs。Microsoft也提供有Windows CE作業系統的 BSPs。

Windows CE 作業系統的 BSP 包含有:

bootloader

驅動

OEM Adaptation Layer(OAL)

配置檔案

1.

bootloader

2.

驅動

3.

OEM Adaptation Layer(OAL)

4.

配置檔案

示例

風河公司為 ARM Integrator 920T 開發板提供的 BSP 包含以下部分(還有其他部分未列出):

一個 config.h 檔案, 定義了一些常量例如 ROM_SIZE 和 RAM_HIGH_ADRS

一個 Makefile, 定義了二進制版本的 VxWorks ROM 映像,這個映像是用來提供給對快閃記憶體進行編程的

一個 bootrom 檔案, 定義了這個板相關的啟動參數等

一個 target.ref 檔案, 描述了板相關的信息,例如開關和跳線設定,中斷等

一個 VxWorks 映像

C 代碼,包含有:

flashMem.c -- 開發板的快閃記憶體的驅動

pciIomapShow.c -- 將 PCI 匯流排映射成檔案

primeCellSio.c -- TTY 驅動

sysLib.c -- 開發板系統相關的例程

romInit.s -- 開發板的 ROM 初始化模組,包含開發板從 ROM 運行程式的入口代碼

1.

一個 config.h 檔案, 定義了一些常量例如 ROM_SIZE 和 RAM_HIGH_ADRS

2.

一個 Makefile, 定義了二進制版本的 VxWorks ROM 映像,這個映像是用來提供給對快閃記憶體進行編程的

3.

一個 bootrom 檔案, 定義了這個板相關的啟動參數等

4.

一個 target.ref 檔案, 描述了板相關的信息,例如開關和跳線設定,中斷等

5.

一個 VxWorks 映像

6.

C 代碼,包含有:

7.

flashMem.c -- 開發板的快閃記憶體的驅動

8.

pciIomapShow.c -- 將 PCI 匯流排映射成檔案

9.

primeCellSio.c -- TTY 驅動

10.

sysLib.c -- 開發板系統相關的例程

11.

romInit.s -- 開發板的 ROM 初始化模組,包含開發板從 ROM 運行程式的入口代碼

參見

•CSP

相關詞條

相關搜尋

熱門詞條

聯絡我們